Analisi iscrizioni universitarie negli anni

Andremmo ad analizzare le iscrizioni universitarie nelle varie province italiane dal 2010 al 2022 in modo da poter rispondere alle domande:

  1. Quali sono stati gli anni con il maggior numero di iscrizioni univeristarie?

  2. Qual’è l’andamento nazionale e per singola provincia

  3. Come sono ditribute le iscrizioni univesitarie in Italia?

Il dataset

Il dataset è stato creato dal unione e la rielaborazione di più datasets, ad ogni dataset è associato uno script per il carciamento e l’ elaborazione dei dati.

Dataset iscrizioni univeristarie

Il primo script elabora un dataset con il numero di iscritti universitari divisi per provincia italiana, il dataset di partenza è composto da Anno Accademico, Provincia, Sesso e numero di iscritti.

Lo script è in oltre composto da diverse funzioni utili per l’ estrazione dei dati:

if(!exists("foo", mode="function")) source("db_universita.r")
## Warning: il pacchetto 'dplyr' è stato creato con R versione 4.1.3
## 
## Caricamento pacchetto: 'dplyr'
## I seguenti oggetti sono mascherati da 'package:stats':
## 
##     filter, lag
## I seguenti oggetti sono mascherati da 'package:base':
## 
##     intersect, setdiff, setequal, union
head(xResidenza)
##       AnnoA IstatP ResidenzaP SESSO   Isc
## 1 2021/2022      1     TORINO     F 35766
## 2 2021/2022      1     TORINO     M 29351
## 3 2021/2022      2   VERCELLI     F  2237
## 4 2021/2022      2   VERCELLI     M  1624
## 5 2021/2022      3     NOVARA     F  4956
## 6 2021/2022      3     NOVARA     M  3641

Andiamo ora ad analizzare il numero di iscritti selezionando ad esempio la provincia di udine:

library(dplyr)
library(ggplot2)
## Warning: il pacchetto 'ggplot2' è stato creato con R versione 4.1.3
iscrittiUD <- iscrittiByProvincia("UDINE")
(iscrittiUD)
## # A tibble: 12 x 3
##    AnnoA     ResidenzaP IscrittiTot
##    <chr>     <chr>            <int>
##  1 2010/2011 UDINE            13117
##  2 2011/2012 UDINE            12700
##  3 2012/2013 UDINE            12245
##  4 2013/2014 UDINE            11999
##  5 2014/2015 UDINE            11867
##  6 2015/2016 UDINE            11998
##  7 2016/2017 UDINE            12324
##  8 2017/2018 UDINE            12579
##  9 2018/2019 UDINE            12800
## 10 2019/2020 UDINE            13229
## 11 2020/2021 UDINE            13775
## 12 2021/2022 UDINE            13904
iscrittiUD[which.max(iscrittiUD$IscrittiTot),]
## # A tibble: 1 x 3
##   AnnoA     ResidenzaP IscrittiTot
##   <chr>     <chr>            <int>
## 1 2021/2022 UDINE            13904
iscrittiUD[which.min(iscrittiUD$IscrittiTot),]
## # A tibble: 1 x 3
##   AnnoA     ResidenzaP IscrittiTot
##   <chr>     <chr>            <int>
## 1 2014/2015 UDINE            11867
ggplot(iscrittiUD,aes(y=AnnoA,x=IscrittiTot)) +
    geom_col()+
    geom_text(aes(label = IscrittiTot)) 

paste(("Media:"),mean(iscrittiUD$IscrittiTot) )
## [1] "Media: 12711.4166666667"
paste(("Varianza:"),var(iscrittiUD$IscrittiTot))
## [1] "Varianza: 464412.992424242"

Possiamo notare dal grafico che dal 2010 al 2015 le iscrizioni al univeristà in provincia di Udine sono scese fino a raggiugere il picco minimo nel anno accademico del 2014/2015, per poi ricominciare a salire nuovamente ogni anno di più fino a raggiugere il picco massimo proprio nello scorso anno accademico

iscritti2020MF <- iscrittiByAnno("2020/2021")
(iscritti2020MF)
##         AnnoA IstatP                ResidenzaP SESSO   Isc
## 1   2020/2021      1                    TORINO     F 35199
## 2   2020/2021      1                    TORINO     M 29369
## 3   2020/2021      2                  VERCELLI     F  2235
## 4   2020/2021      2                  VERCELLI     M  1636
## 5   2020/2021      3                    NOVARA     F  4948
## 6   2020/2021      3                    NOVARA     M  3788
## 7   2020/2021      4                     CUNEO     F  7884
## 8   2020/2021      4                     CUNEO     M  5673
## 9   2020/2021      5                      ASTI     F  2843
## 10  2020/2021      5                      ASTI     M  2112
## 11  2020/2021      6               ALESSANDRIA     F  5444
## 12  2020/2021      6               ALESSANDRIA     M  4117
## 13  2020/2021      7                     AOSTA     F  1878
## 14  2020/2021      7                     AOSTA     M  1384
## 15  2020/2021      8                   IMPERIA     F  2475
## 16  2020/2021      8                   IMPERIA     M  1958
## 17  2020/2021      9                    SAVONA     F  3825
## 18  2020/2021      9                    SAVONA     M  2816
## 19  2020/2021     10                    GENOVA     F 13332
## 20  2020/2021     10                    GENOVA     M 10717
## 21  2020/2021     11                 LA SPEZIA     F  3335
## 22  2020/2021     11                 LA SPEZIA     M  2580
## 23  2020/2021     12                    VARESE     F 11996
## 24  2020/2021     12                    VARESE     M  9205
## 25  2020/2021     13                      COMO     F  7832
## 26  2020/2021     13                      COMO     M  5932
## 27  2020/2021     14                   SONDRIO     F  2075
## 28  2020/2021     14                   SONDRIO     M  1508
## 29  2020/2021     15                    MILANO     F 46898
## 30  2020/2021     15                    MILANO     M 39092
## 31  2020/2021     16                   BERGAMO     F 16094
## 32  2020/2021     16                   BERGAMO     M 11854
## 33  2020/2021     17                   BRESCIA     F 16860
## 34  2020/2021     17                   BRESCIA     M 12505
## 35  2020/2021     18                     PAVIA     F  7451
## 36  2020/2021     18                     PAVIA     M  5676
## 37  2020/2021     19                   CREMONA     F  4697
## 38  2020/2021     19                   CREMONA     M  3567
## 39  2020/2021     20                   MANTOVA     F  4733
## 40  2020/2021     20                   MANTOVA     M  3562
## 41  2020/2021     21                   BOLZANO     F  3936
## 42  2020/2021     21                   BOLZANO     M  2481
## 43  2020/2021     22                    TRENTO     F  8546
## 44  2020/2021     22                    TRENTO     M  6345
## 45  2020/2021     23                    VERONA     F 12744
## 46  2020/2021     23                    VERONA     M 10506
## 47  2020/2021     24                   VICENZA     F 12320
## 48  2020/2021     24                   VICENZA     M  9779
## 49  2020/2021     25                   BELLUNO     F  2607
## 50  2020/2021     25                   BELLUNO     M  2018
## 51  2020/2021     26                   TREVISO     F 12161
## 52  2020/2021     26                   TREVISO     M 10293
## 53  2020/2021     27                   VENEZIA     F 11135
## 54  2020/2021     27                   VENEZIA     M  9490
## 55  2020/2021     28                    PADOVA     F 14889
## 56  2020/2021     28                    PADOVA     M 12421
## 57  2020/2021     29                    ROVIGO     F  3024
## 58  2020/2021     29                    ROVIGO     M  2336
## 59  2020/2021     30                     UDINE     F  7617
## 60  2020/2021     30                     UDINE     M  6158
## 61  2020/2021     31                   GORIZIA     F  1848
## 62  2020/2021     31                   GORIZIA     M  1557
## 63  2020/2021     32                   TRIESTE     F  3540
## 64  2020/2021     32                   TRIESTE     M  3014
## 65  2020/2021     33                  PIACENZA     F  3880
## 66  2020/2021     33                  PIACENZA     M  2875
## 67  2020/2021     34                     PARMA     F  7008
## 68  2020/2021     34                     PARMA     M  5516
## 69  2020/2021     35             REGGIO EMILIA     F  7362
## 70  2020/2021     35             REGGIO EMILIA     M  5423
## 71  2020/2021     36                    MODENA     F  9755
## 72  2020/2021     36                    MODENA     M  7625
## 73  2020/2021     37                   BOLOGNA     F 15347
## 74  2020/2021     37                   BOLOGNA     M 12207
## 75  2020/2021     38                   FERRARA     F  4362
## 76  2020/2021     38                   FERRARA     M  3645
## 77  2020/2021     39                   RAVENNA     F  4912
## 78  2020/2021     39                   RAVENNA     M  3584
## 79  2020/2021     40             FORLI'-CESENA     F  5327
## 80  2020/2021     40             FORLI'-CESENA     M  4102
## 81  2020/2021     41           PESARO E URBINO     F  5872
## 82  2020/2021     41           PESARO E URBINO     M  4410
## 83  2020/2021     42                    ANCONA     F  8178
## 84  2020/2021     42                    ANCONA     M  6428
## 85  2020/2021     43                  MACERATA     F  5408
## 86  2020/2021     43                  MACERATA     M  4166
## 87  2020/2021     44             ASCOLI PICENO     F  3942
## 88  2020/2021     44             ASCOLI PICENO     M  3192
## 89  2020/2021     45             MASSA CARRARA     F  2989
## 90  2020/2021     45             MASSA CARRARA     M  2306
## 91  2020/2021     46                     LUCCA     F  6062
## 92  2020/2021     46                     LUCCA     M  4534
## 93  2020/2021     47                   PISTOIA     F  4402
## 94  2020/2021     47                   PISTOIA     M  3310
## 95  2020/2021     48                   FIRENZE     F 16238
## 96  2020/2021     48                   FIRENZE     M 13075
## 97  2020/2021     49                   LIVORNO     F  4758
## 98  2020/2021     49                   LIVORNO     M  3818
## 99  2020/2021     50                      PISA     F  7232
## 100 2020/2021     50                      PISA     M  5931
## 101 2020/2021     51                    AREZZO     F  5247
## 102 2020/2021     51                    AREZZO     M  3935
## 103 2020/2021     52                     SIENA     F  4266
## 104 2020/2021     52                     SIENA     M  3506
## 105 2020/2021     53                  GROSSETO     F  3014
## 106 2020/2021     53                  GROSSETO     M  2279
## 107 2020/2021     54                   PERUGIA     F 11622
## 108 2020/2021     54                   PERUGIA     M  8643
## 109 2020/2021     55                     TERNI     F  3654
## 110 2020/2021     55                     TERNI     M  2948
## 111 2020/2021     56                   VITERBO     F  5155
## 112 2020/2021     56                   VITERBO     M  3998
## 113 2020/2021     57                     RIETI     F  2813
## 114 2020/2021     57                     RIETI     M  2177
## 115 2020/2021     58                      ROMA     F 84849
## 116 2020/2021     58                      ROMA     M 69889
## 117 2020/2021     59                    LATINA     F 10538
## 118 2020/2021     59                    LATINA     M  8197
## 119 2020/2021     60                 FROSINONE     F  9157
## 120 2020/2021     60                 FROSINONE     M  7044
## 121 2020/2021     61                   CASERTA     F 21147
## 122 2020/2021     61                   CASERTA     M 15918
## 123 2020/2021     62                 BENEVENTO     F  6207
## 124 2020/2021     62                 BENEVENTO     M  4752
## 125 2020/2021     63                    NAPOLI     F 60096
## 126 2020/2021     63                    NAPOLI     M 48859
## 127 2020/2021     64                  AVELLINO     F  9736
## 128 2020/2021     64                  AVELLINO     M  7592
## 129 2020/2021     65                   SALERNO     F 23614
## 130 2020/2021     65                   SALERNO     M 18859
## 131 2020/2021     66                  L'AQUILA     F  6717
## 132 2020/2021     66                  L'AQUILA     M  5445
## 133 2020/2021     67                    TERAMO     F  6088
## 134 2020/2021     67                    TERAMO     M  4602
## 135 2020/2021     68                   PESCARA     F  6093
## 136 2020/2021     68                   PESCARA     M  4967
## 137 2020/2021     69                    CHIETI     F  7601
## 138 2020/2021     69                    CHIETI     M  5796
## 139 2020/2021     70                CAMPOBASSO     F  4674
## 140 2020/2021     70                CAMPOBASSO     M  3555
## 141 2020/2021     71                    FOGGIA     F 12603
## 142 2020/2021     71                    FOGGIA     M  9371
## 143 2020/2021     72                      BARI     F 23924
## 144 2020/2021     72                      BARI     M 19379
## 145 2020/2021     73                   TARANTO     F 10212
## 146 2020/2021     73                   TARANTO     M  8162
## 147 2020/2021     74                  BRINDISI     F  7075
## 148 2020/2021     74                  BRINDISI     M  5263
## 149 2020/2021     75                     LECCE     F 15774
## 150 2020/2021     75                     LECCE     M 12475
## 151 2020/2021     76                   POTENZA     F  8210
## 152 2020/2021     76                   POTENZA     M  6243
## 153 2020/2021     77                    MATERA     F  4215
## 154 2020/2021     77                    MATERA     M  3324
## 155 2020/2021     78                   COSENZA     F 15381
## 156 2020/2021     78                   COSENZA     M 11283
## 157 2020/2021     79                 CATANZARO     F  8359
## 158 2020/2021     79                 CATANZARO     M  6076
## 159 2020/2021     80           REGGIO CALABRIA     F 12564
## 160 2020/2021     80           REGGIO CALABRIA     M  8899
## 161 2020/2021     81                   TRAPANI     F  7815
## 162 2020/2021     81                   TRAPANI     M  5938
## 163 2020/2021     82                   PALERMO     F 21963
## 164 2020/2021     82                   PALERMO     M 18081
## 165 2020/2021     83                   MESSINA     F 12555
## 166 2020/2021     83                   MESSINA     M  9662
## 167 2020/2021     84                 AGRIGENTO     F  8998
## 168 2020/2021     84                 AGRIGENTO     M  6618
## 169 2020/2021     85             CALTANISSETTA     F  5585
## 170 2020/2021     85             CALTANISSETTA     M  4287
## 171 2020/2021     86                      ENNA     F  3391
## 172 2020/2021     86                      ENNA     M  2278
## 173 2020/2021     87                   CATANIA     F 21071
## 174 2020/2021     87                   CATANIA     M 16564
## 175 2020/2021     88                    RAGUSA     F  5370
## 176 2020/2021     88                    RAGUSA     M  4045
## 177 2020/2021     89                  SIRACUSA     F  6664
## 178 2020/2021     89                  SIRACUSA     M  5339
## 179 2020/2021     90                   SASSARI     F  8574
## 180 2020/2021     90                   SASSARI     M  6131
## 181 2020/2021     91                     NUORO     F  4325
## 182 2020/2021     91                     NUORO     M  2662
## 183 2020/2021     92                  CAGLIARI     F  7841
## 184 2020/2021     92                  CAGLIARI     M  6081
## 185 2020/2021     93                 PORDENONE     F  4246
## 186 2020/2021     93                 PORDENONE     M  3331
## 187 2020/2021     94                   ISERNIA     F  1666
## 188 2020/2021     94                   ISERNIA     M  1259
## 189 2020/2021     95                  ORISTANO     F  2785
## 190 2020/2021     95                  ORISTANO     M  1893
## 191 2020/2021     96                    BIELLA     F  2230
## 192 2020/2021     96                    BIELLA     M  1662
## 193 2020/2021     97                     LECCO     F  4896
## 194 2020/2021     97                     LECCO     M  3631
## 195 2020/2021     98                      LODI     F  3103
## 196 2020/2021     98                      LODI     M  2302
## 197 2020/2021     99                    RIMINI     F  4876
## 198 2020/2021     99                    RIMINI     M  3659
## 199 2020/2021    100                     PRATO     F  3551
## 200 2020/2021    100                     PRATO     M  2665
## 201 2020/2021    101                   CROTONE     F  3672
## 202 2020/2021    101                   CROTONE     M  2693
## 203 2020/2021    102             VIBO VALENTIA     F  3525
## 204 2020/2021    102             VIBO VALENTIA     M  2576
## 205 2020/2021    103      VERBANO CUSIO OSSOLA     F  1899
## 206 2020/2021    103      VERBANO CUSIO OSSOLA     M  1318
## 207 2020/2021    108           MONZA E BRIANZA     F 12362
## 208 2020/2021    108           MONZA E BRIANZA     M  9877
## 209 2020/2021    109                     FERMO     F  3008
## 210 2020/2021    109                     FERMO     M  2377
## 211 2020/2021    110 BARLETTA - ANDRIA - TRANI     F  7458
## 212 2020/2021    110 BARLETTA - ANDRIA - TRANI     M  5618
## 213 2020/2021    111              SUD SARDEGNA     F  5544
## 214 2020/2021    111              SUD SARDEGNA     M  3618
## 215 2020/2021    998          PROVINCIA ESTERA     F 19707
## 216 2020/2021    998          PROVINCIA ESTERA     M 19393
## 217 2020/2021    999    PROVINCIA NON DEFINITA     F   334
## 218 2020/2021    999    PROVINCIA NON DEFINITA     M   202
paste(("Media iscritti femmine:"),mean(filter(iscritti2020MF, iscritti2020MF$SESSO == 'F')$Isc) )
## [1] "Media iscritti femmine: 9440.8623853211"
paste(("Media iscritti maschi:"),mean(filter(iscritti2020MF, iscritti2020MF$SESSO == 'M')$Isc) )
## [1] "Media iscritti maschi: 7438.45871559633"
iscritti <- iscrittiTotPerAnno()
## `summarise()` has grouped output by 'AnnoA', 'ResidenzaP'. You can override
## using the `.groups` argument.
(iscritti)
## # A tibble: 1,308 x 3
## # Groups:   AnnoA, ResidenzaP [1,308]
##    AnnoA     ResidenzaP                IscrittiTot
##    <chr>     <chr>                           <int>
##  1 2010/2011 AGRIGENTO                       15460
##  2 2010/2011 ALESSANDRIA                      8899
##  3 2010/2011 ANCONA                          14478
##  4 2010/2011 AOSTA                            3283
##  5 2010/2011 AREZZO                           9015
##  6 2010/2011 ASCOLI PICENO                    7810
##  7 2010/2011 ASTI                             4387
##  8 2010/2011 AVELLINO                        19279
##  9 2010/2011 BARI                            46544
## 10 2010/2011 BARLETTA - ANDRIA - TRANI       12336
## # ... with 1,298 more rows
#Anno e provincia con più iscrizioni
(iscritti[which.max(iscritti$IscrittiTot),])
## # A tibble: 1 x 3
## # Groups:   AnnoA, ResidenzaP [1]
##   AnnoA     ResidenzaP IscrittiTot
##   <chr>     <chr>            <int>
## 1 2020/2021 ROMA            154738

Dataset residenti

Il dataset residenti serve per poi calcolare la precentuale degli iscritti in modo da poter studiare il numero di iscrizioni relative alla popolazione delle province.

if(!exists("foo", mode="function")) source("db_residenti.r")
## `summarise()` has grouped output by 'AnnoA', 'ResidenzaP'. You can override
## using the `.groups` argument.

Il dataset è stato composto unendo un dataset con gli abitanti dal 2010 al 2019 e altri due dataset con gli iscritti del 2020 2021

View(abitantidb)

Da questo dataset calcoliamo poi le percentuali di iscritti per ogni provincia

percentualeIscritti <- iscrittiTotPercentuale()

Unione dati e studio

Dopo aver costruito i vari dataset con le informazioni che ci servivano li uniamo in un solo dataset su cui fare le analisi.

if(!exists("foo", mode="function")) source("unioneDatasets.r")
## `summarise()` has grouped output by 'AnnoA', 'ResidenzaP'. You can override
## using the `.groups` argument.
## `summarise()` has grouped output by 'ResidenzaP', 'Totale_casi2020',
## 'Totale_casi2021'. You can override using the `.groups` argument.
## Warning: il pacchetto 'sf' è stato creato con R versione 4.1.3
## Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 7.2.1; sf_use_s2() is TRUE
## Warning: il pacchetto 'mapview' è stato creato con R versione 4.1.3
View(dbCompleto)

Il dataset completo è costiuito da Regione e Provincia, Anno Solare e Accademico, Iscrizioni universitari, Residenti nella provincia e numero di iscritti in percentuale.

db2010 <- dbCompletoPerAnno('2010/2011')
## [1] "2010/2011"
db2011 <- dbCompletoPerAnno('2011/2012')
## [1] "2011/2012"
db2012 <- dbCompletoPerAnno('2012/2013')
## [1] "2012/2013"
db2013 <- dbCompletoPerAnno('2013/2014')
## [1] "2013/2014"
db2014 <- dbCompletoPerAnno('2014/2015')
## [1] "2014/2015"
db2015 <- dbCompletoPerAnno('2015/2016')
## [1] "2015/2016"
db2016 <- dbCompletoPerAnno('2016/2017')
## [1] "2016/2017"
db2017 <- dbCompletoPerAnno('2017/2018')
## [1] "2017/2018"
db2018 <- dbCompletoPerAnno('2018/2019')
## [1] "2018/2019"
db2019 <- dbCompletoPerAnno('2019/2020')
## [1] "2019/2020"
db2020 <- dbCompletoPerAnno('2020/2021')
## [1] "2020/2021"
db2021 <- dbCompletoPerAnno('2021/2022')
## [1] "2021/2022"
anno <- c(
      '2010',
      '2011', 
      '2012', 
      '2013', 
      '2014', 
      '2015', 
      '2016', 
      '2017', 
      '2018', 
      '2019', 
      '2020', 
      '2021' 
    )
medie <- c(
  round(mean(db2010$PercentIscritti, na.rm=TRUE),digits = 2),
  round(mean(db2011$PercentIscritti, na.rm=TRUE),digits = 2),
  round(mean(db2012$PercentIscritti, na.rm=TRUE),digits = 2),
  round(mean(db2013$PercentIscritti, na.rm=TRUE),digits = 2),
  round(mean(db2014$PercentIscritti, na.rm=TRUE),digits = 2),
  round(mean(db2015$PercentIscritti, na.rm=TRUE),digits = 2),
  round(mean(db2016$PercentIscritti, na.rm=TRUE),digits = 2),
  round(mean(db2017$PercentIscritti, na.rm=TRUE),digits = 2),
  round(mean(db2018$PercentIscritti, na.rm=TRUE),digits = 2),  
  round(mean(db2019$PercentIscritti, na.rm=TRUE),digits = 2),  
  round(mean(db2020$PercentIscritti, na.rm=TRUE),digits = 2), 
  round(mean(db2021$PercentIscritti, na.rm=TRUE),digits = 2))
dbMedie <- data.frame(anno, medie)

Creiamo ora un istogramma con le medie delle percentuali di iscrizioni delle varie province per capire se le iscrizioni negli ultimi 10 anni è aumentata o diminuità.

Come possiamo notare dal istogramma le iscrizioni in precentuale sono rimaste regolari, non sono aumentate o diminuite di molto, con un picco di iscrizioni nel 2020/2021.

ggplot(dbMedie,aes(y=medie,x=anno))+
    geom_histogram(stat='identity',fill="lightblue")+
    geom_text(aes(label = medie), vjust = 1.5, colour = "black")
## Warning in geom_histogram(stat = "identity", fill = "lightblue"): Ignoring
## unknown parameters: `binwidth`, `bins`, and `pad`

La Web APP

Per avere una visione più dinamica dei contenuti è stata creata una pagina web.

Vi sono due viste:

  1. Istogramma del andamento delle iscirzioni per la provincia selezionata.

  2. Mappa del italia con le percentuali delle province idicate da colore e raggio dei cerchi nel anno selezionato

Dalle mappe dei vari anni si può notare che la percentuale di isciritti al università è maggiore al sud rispetto che al nord.

Screen del sito nella vista georafica delle percentuali di iscritti

if(!exists("foo", mode="function")) source("app.r")
## Warning: il pacchetto 'shiny' è stato creato con R versione 4.1.3
## Warning: il pacchetto 'leaflet' è stato creato con R versione 4.1.3
## Warning: il pacchetto 'htmltools' è stato creato con R versione 4.1.3

Per l’ avvio del applicazione andare nel file e avviare l’ applicazione.